草庐IT

javascript - 用于存储 SEO 元数据的 AngularJS 服务

全部标签

ruby - ruby 中的数据库连接池

我刚开始使用Ruby,正在玩Sinatra,但找不到在请求之间共享数据库连接的方法。我来自Java网络开发,你必须做的基本事情之一就是汇集数据库连接,所以我确信Ruby中存在类似的东西,但我找不到它。ActiveRecord和DataMapper提供此功能,但我不需要ORM,只想进行常规SQL查询。Sinatra是否有一些特定的方法,或者所有基于Rack的应用程序是否有通用方法? 最佳答案 要保持连接,您只需要创建一个实例变量(无论如何Sinatra应用程序只是对象)或一个全局变量。或者为您管理连接的类。我见过的大多数Ruby数据库

ruby - Ruby 类单例常量存储在哪里?

假设我们有这个Ruby类:classMyClassclass然后,让我们实例化MyClass并向对象的元类添加另一个常量:m=MyClass.newclass对象单例常量没有问题:m.singleton_class::OBJ_MC_CONST#=>50true但不完全是我对类单例常量的期望:MyClass.singleton_class::MC_CONST#=>3030false为什么MyClass类的元类上的.constants方法返回的数组不包含:MC_CONST?我在这里缺少什么?谢谢。编辑1:这毕竟是MRI2.x中的一个错误。我已经向Ruby核心团队提交了一个新问题:https

ruby-on-rails - MySql 上的 Rails 复选框存储为 null 或零

在我的Rails应用程序中,我有一个项目列表(如任务列表),每个项目都有几个复选框来设置参数。当我提交表单时,选中的框在数据库中存储为零,未选中的存储为空。问题是:有办法配置吗?将数据存储在更传统的0或1上,因为我认为将null存储为false并将0存储为true有点令人困惑,特别是如果另一个应用程序(如C应用程序)需要读取数据。 最佳答案 假设您正在使用的属性是club_member,如“您是club_member吗?”。请注意,在Ruby/Rails中,它现在的工作方式是,ifmodel.club_member如果未选中(值为n

ruby-on-rails - state_machine 仅适用于新记录

我似乎无法获得state_machinegem(http://github.com/pluginaweek/state_machine/)来处理现有记录(它可以在新记录上正常工作)。这是我的模型:classComment:pendingdoevent:publishdotransitionall=>:publishedendendend这是一个演示该问题的IRBsession(我做了ActiveRecord::Base.logger=Logger.new(STDOUT)以使其更易于阅读):>>c=Comment.new=>#>>c.state=>"pending">>c.publish

ruby-on-rails - 每次请求都会重新加载模块,因此初始化数据会丢失

我将值存储在模块内的类变量中,例如:moduleTranslationEnhancerdefself.install!klass@dictionaries||=[]我从config/initializers中的初始化程序中调用它:requireRails.root+"lib"+"translation_enhancer.rb"TranslationEnhancer::install!TranslationDictionary现在,如果我在开发环境中启动服务器,在第一个请求期间一切正常。然而,在那个请求之后,@dictionaries突然变成了nil。我已经注释了TranslationE

ruby - 是否可以列出当前池中的所有数据库连接?

我在一个独立于Rails应用程序运行的守护进程中得到ActiveRecord::ConnectionTimeoutError。我将Passenger与Apache和MySQL一起用作数据库。Passenger的默认池大小为6(至少文档是这么告诉我的),因此它不应使用超过6个连接。我已将ActiveRecord的池大小设置为10,尽管我认为我的守护进程应该只需要一个连接。我的守护进程是一个具有多个线程的进程,它在这里和那里调用ActiveRecord以将内容保存到它与Rails应用程序共享的数据库中。我需要弄清楚的是线程是否根本无法共享一个连接,或者它们是否只是不断请求新连接而不释放它们

ruby-on-rails - Rails 应用程序作为 LDAP 或 CardDAV 服务器?

我正在开发一个内部Rails应用程序,这是一个(除其他外)CRM应用程序,因此它包含客户和其他联系人的姓名、地址等。一个巧妙的功能是允许客户端(例如电子邮件程序和地址簿应用程序)获取/搜索这些联系人(即只是简单的只读访问)。我的想法是为此使用LDAP或CardDAV,但我无法获得有关如何实现它的太多(最近)信息。对于CardDAV,我基本上什么都没发现。对于LDAP,我发现了大量LDAP客户端gem和插件,但只有少数LDAP服务器实现。到目前为止我发现的是theplainRubyLDAPserver和LDAP-ActiveRecord-gateway,它建立在前者之上。后者听起来很合适

ruby - 如何获取 "super"的元数?

假设您正在用不同的元数覆盖子类中的方法:classAdeffoo(arg)#arityis1#doingsomethinghereendendclassB有没有办法在线获取super的元数?(实际用例:我调用super时知道父类(superclass)不接受任何参数。但是,如果父类(superclass)实现(在gem中)发生变化,我想发出警告。)感谢您的帮助! 最佳答案 关于您的实际用例:无需亲自检查参数。打电话super(arg1)如果参数计数不匹配,Ruby将引发ArgumentError。更新由于一些反对票,我想我应该回答你

ruby - 如何使用 Ruby gem 通过 HTTP 请求发送二进制数据?

我正在尝试找到一种方法来重现在有效负载中发送二进制数据并设置Content-Type:binaryheader的HTTP请求,例如以下带有cURL的命令:echo-e'\x14\x00\x00\x00\x70\x69\x6e\x67\x00\x00'|curl-XPOST\-H'Content-Type:binary'\-H'Accept:*/*'\-H'Accept-Encoding:gzip,deflate,sdch'\-H'Accept-Language:en-US,en;q=0.8,pt;q=0.6'\-H'Cookie:JSESSIONID=m1q1hkaptxcqjuvru

用于捕获正则表达式匹配项的 Ruby 单行代码

在Perl中,我使用以下一行语句通过正则表达式从字符串中提取匹配项并分配它们。这个找到一个匹配项并将其分配给一个字符串:my$string="thequickbrownfoxjumpsoverthelazydog.";my$extractString=($string=~m{fox(.*?)dog})[0];结果:$extractString=='jumpsoverthelazy'这个从多个匹配项创建一个数组:my$string="thequickbrownfoxjumpsoverthelazydog.";my@extractArray=$string=~m{the(.*?)fox.*